47bb75dc546f9beeb968d432c7487926cf845c58,graylog2-server/src/main/java/org/graylog2/rest/resources/search/AbsoluteSearchResource.java,AbsoluteSearchResource,searchAbsolute,#String#String#String#number#number#String#String#,73
Before Change
try {
SearchResponse searchResponse;
if (filter == null) {
searchResponse = buildSearchResponse(
indexer.searches().search(query, buildAbsoluteTimeRange(from, to), limit, offset, sorting)
);
} else {
searchResponse = buildSearchResponse(
indexer.searches().search(query, filter, buildAbsoluteTimeRange(from, to), limit, offset, sorting)
);
}
return searchResponse;
After Change
@ApiParam(title = "from", description = "Timerange start. See description for date format", required = true) @QueryParam("from") String from,
@ApiParam(title = "to", description = "Timerange end. See description for date format", required = true) @QueryParam("to") String to,
@ApiParam(title = "limit", description = "Maximum number of messages to return.", required = false) @QueryParam("limit") int limit,
@ApiParam(title = "offset", description = "Offset", required = false) @QueryParam("offset") int offset,
@ApiParam(title = "filter", description = "Filter", required = false) @QueryParam("filter") String filter,
@ApiParam(title = "fields", description = "Comma separated list of fields to return", required = false) @QueryParam("fields") String fields,
@ApiParam(title = "sort", description = "Sorting (field:asc / field:desc)", required = false) @QueryParam("sort") String sort) {
checkSearchPermission(filter, RestPermissions.SEARCHES_ABSOLUTE);
checkQuery(query);
Sorting sorting = buildSorting(sort);
final List<String> fieldList = parseOptionalFields(fields);
final SearchesConfig searchesConfig = SearchesConfigBuilder.newConfig()
.setQuery(query)
.setFilter(filter)
.setFields(fieldList)
.setRange(buildAbsoluteTimeRange(from, to))
.setLimit(limit)
.setOffset(offset)
.setSorting(sorting)
.build();
try {
return buildSearchResponse(indexer.searches().search(searchesConfig));
} catch (IndexHelper.InvalidRangeFormatException e) {
LOG.warn("Invalid timerange parameters provided. Returning HTTP 400.", e);
throw new WebApplicationException(400);